﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DiscoveryLogic.DataViz.NetworkDiagram.FieldComparers;
using DiscoveryLogic.DataViz.NetworkDiagram.NetworkData;

namespace DiscoveryLogic.DataViz.NetworkDiagram.Dedup
{
    /// <summary>
    /// 
    /// </summary>
    public interface IDedupCalculator
    {
        /// <summary></summary>
        Dictionary<string, IAttributeComparer> NativeFieldComparers { get; set; }
        /// <summary></summary>
        Dictionary<string, IAttributeComparer> AssociativeFieldComparers { get; set; }
        /// <summary></summary>
        Dictionary<string, double> FieldWeights { get; set; }
        /// <summary></summary>
        Dictionary<string, double> FieldPenalties { get; set; }
        /// <summary></summary>
        double AssociativeScoreThreshold { get; set; }
        /// <summary></summary>
        double CollapseScoreThreshold { get; set; }
        /// <summary></summary>
        double? CalculateSimilarity(BaseEntity entity1, BaseEntity entity2);
    }
}
